 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.manager;

import br.com.deployment.entidade.localidade.Cidade;
import br.com.deployment.entidade.localidade.Estado;
import br.com.deployment.entidade.localidade.Pais;
import br.com.deployment.exception.CartorioException;
import br.com.deployment.interfacedao.CidadeDao;
import br.com.deployment.interfacedao.EstadoDao;
import br.com.deployment.interfacedao.PaisDao;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author roniere
 */
@ManagedBean
@SessionScoped
public class ManagerPaisEstadoCidade implements Serializable{

    @EJB
    EstadoDao estadoDAO;
    @EJB
    PaisDao paisDAO;
    @EJB
    CidadeDao cidadeDAO;
    private Pais pais;
    private Estado estado;
    private Cidade cidade;
    private List<Pais> paises;
    private List<Cidade> cidades;
    private List<Estado> estados;

    public Cidade getCidade() {
        return cidade;
    }

    public void setCidade(Cidade cidade) {
        this.cidade = cidade;
    }

    public List<Cidade> getCidades() {
        return cidades;
    }

    public void setCidades(List<Cidade> cidades) {
        this.cidades = cidades;
    }

    public List<Estado> getEstados() {
        return estados;
    }

    public void setEstados(List<Estado> estados) {
        this.estados = estados;
    }

    public Estado getEstado() {
        return estado;
    }

    public List<Pais> getPaises() {
        return paises;
    }

    public void setPaises(List<Pais> paises) {
        this.paises = paises;
    }

    public void setEstado(Estado estado) {
        this.estado = estado;
    }

    public Pais getPais() {
        return pais;
    }

    public void setPais(Pais pais) {
        this.pais = pais;
    }

    public List<Pais> paisList() {
        paises = paisDAO.findAll();
        return paises;
    }

    public List<Estado> estadoList() {
        estados = estadoDAO.list("Brasil");
        System.out.println(estados);
        return estados;
    }

    public List<Cidade> cidadeList(String id) {
        try {
            cidades = cidadeDAO.list(id);
        } catch (CartorioException ex) {
           RegistrarExecption(ex); 
        }
        return cidades;
    }

    public ManagerPaisEstadoCidade() {
        paises = new ArrayList<Pais>();
        estados = new ArrayList<Estado>();
        paises.add(new Pais());



    }

    public void RegistrarExecption(Exception ex){
        Logger.getLogger(ManagerPaisEstadoCidade.class.getName()).log(Level.SEVERE, null, ex);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(ex.getMessage()));
    }

    @Override
    public String toString() {
        return "ManagerPaisEstadoCidade{" + "paisDAO=" + paisDAO + ", pais=" + pais + ", estado=" + estado + ", cidade=" + cidade + ", paises=" + paises + '}';
    }

}
